package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 压降分析对象 dispatchPressureDrop
 * 
 * @author ruoyi
 * @date 2025-03-02
 */
public class DispatchPressureDrop extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 压降分析编号 */
    private Long pressureDropId;

    /** 监测站点编号 */
    @Excel(name = "监测站点编号")
    private Long pipeNetworkMonitoringPointsId;

    /** 上游监测点 ID */
    @Excel(name = "上游监测点 ID")
    private Long upstreamPipeNetworkMonitoringPointsId;

    /** 下游监测点 ID */
    @Excel(name = "下游监测点 ID")
    private Long downstreamPipeNetworkMonitoringPointsId;

    /** 设计压力 */
    @Excel(name = "设计压力")
    private BigDecimal designedPressure;

    /** 压力理论衰减值 */
    @Excel(name = "压力理论衰减值")
    private BigDecimal theoreticalPressureDrop;

    /** 监测点标高 */
    @Excel(name = "监测点标高")
    private BigDecimal elevation;

    /** 管网监测压力 */
    @Excel(name = "管网监测压力")
    private BigDecimal monitoringPressure;

    /** 实际衰减值 */
    @Excel(name = "实际衰减值")
    private BigDecimal actualPressureDrop;

    /** 实际衰减与理论衰减的差值 */
    @Excel(name = "实际衰减与理论衰减的差值")
    private BigDecimal pressureDropDifference;

    /** 是否为异常压力点 */
    @Excel(name = "是否为异常压力点")
    private Integer isAnomaly;

    /** 异常原因初步判断 */
    @Excel(name = "异常原因初步判断")
    private String anomalyReason;

    /** 压降报表导出状态 */
    @Excel(name = "压降报表导出状态")
    private Integer reportExportStatus;

    /** 压降报表导出时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "压降报表导出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportExportTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updater;

    /** 压降报表导出文件名 */
    @Excel(name = "压降报表导出文件名")
    private String reportExportFileName;

    public void setPressureDropId(Long pressureDropId) 
    {
        this.pressureDropId = pressureDropId;
    }

    public Long getPressureDropId() 
    {
        return pressureDropId;
    }
    public void setPipeNetworkMonitoringPointsId(Long pipeNetworkMonitoringPointsId) 
    {
        this.pipeNetworkMonitoringPointsId = pipeNetworkMonitoringPointsId;
    }

    public Long getPipeNetworkMonitoringPointsId() 
    {
        return pipeNetworkMonitoringPointsId;
    }
    public void setUpstreamPipeNetworkMonitoringPointsId(Long upstreamPipeNetworkMonitoringPointsId) 
    {
        this.upstreamPipeNetworkMonitoringPointsId = upstreamPipeNetworkMonitoringPointsId;
    }

    public Long getUpstreamPipeNetworkMonitoringPointsId() 
    {
        return upstreamPipeNetworkMonitoringPointsId;
    }
    public void setDownstreamPipeNetworkMonitoringPointsId(Long downstreamPipeNetworkMonitoringPointsId) 
    {
        this.downstreamPipeNetworkMonitoringPointsId = downstreamPipeNetworkMonitoringPointsId;
    }

    public Long getDownstreamPipeNetworkMonitoringPointsId() 
    {
        return downstreamPipeNetworkMonitoringPointsId;
    }
    public void setDesignedPressure(BigDecimal designedPressure) 
    {
        this.designedPressure = designedPressure;
    }

    public BigDecimal getDesignedPressure() 
    {
        return designedPressure;
    }
    public void setTheoreticalPressureDrop(BigDecimal theoreticalPressureDrop) 
    {
        this.theoreticalPressureDrop = theoreticalPressureDrop;
    }

    public BigDecimal getTheoreticalPressureDrop() 
    {
        return theoreticalPressureDrop;
    }
    public void setElevation(BigDecimal elevation) 
    {
        this.elevation = elevation;
    }

    public BigDecimal getElevation() 
    {
        return elevation;
    }
    public void setMonitoringPressure(BigDecimal monitoringPressure) 
    {
        this.monitoringPressure = monitoringPressure;
    }

    public BigDecimal getMonitoringPressure() 
    {
        return monitoringPressure;
    }
    public void setActualPressureDrop(BigDecimal actualPressureDrop) 
    {
        this.actualPressureDrop = actualPressureDrop;
    }

    public BigDecimal getActualPressureDrop() 
    {
        return actualPressureDrop;
    }
    public void setPressureDropDifference(BigDecimal pressureDropDifference) 
    {
        this.pressureDropDifference = pressureDropDifference;
    }

    public BigDecimal getPressureDropDifference() 
    {
        return pressureDropDifference;
    }
    public void setIsAnomaly(Integer isAnomaly) 
    {
        this.isAnomaly = isAnomaly;
    }

    public Integer getIsAnomaly() 
    {
        return isAnomaly;
    }
    public void setAnomalyReason(String anomalyReason) 
    {
        this.anomalyReason = anomalyReason;
    }

    public String getAnomalyReason() 
    {
        return anomalyReason;
    }
    public void setReportExportStatus(Integer reportExportStatus) 
    {
        this.reportExportStatus = reportExportStatus;
    }

    public Integer getReportExportStatus() 
    {
        return reportExportStatus;
    }
    public void setReportExportTime(Date reportExportTime) 
    {
        this.reportExportTime = reportExportTime;
    }

    public Date getReportExportTime() 
    {
        return reportExportTime;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setUpdater(String updater) 
    {
        this.updater = updater;
    }

    public String getUpdater() 
    {
        return updater;
    }
    public void setReportExportFileName(String reportExportFileName) 
    {
        this.reportExportFileName = reportExportFileName;
    }

    public String getReportExportFileName() 
    {
        return reportExportFileName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("pressureDropId", getPressureDropId())
            .append("pipeNetworkMonitoringPointsId", getPipeNetworkMonitoringPointsId())
            .append("upstreamPipeNetworkMonitoringPointsId", getUpstreamPipeNetworkMonitoringPointsId())
            .append("downstreamPipeNetworkMonitoringPointsId", getDownstreamPipeNetworkMonitoringPointsId())
            .append("designedPressure", getDesignedPressure())
            .append("theoreticalPressureDrop", getTheoreticalPressureDrop())
            .append("elevation", getElevation())
            .append("monitoringPressure", getMonitoringPressure())
            .append("actualPressureDrop", getActualPressureDrop())
            .append("pressureDropDifference", getPressureDropDifference())
            .append("isAnomaly", getIsAnomaly())
            .append("anomalyReason", getAnomalyReason())
            .append("reportExportStatus", getReportExportStatus())
            .append("reportExportTime", getReportExportTime())
            .append("createTime", getCreateTime())
            .append("creator", getCreator())
            .append("updater", getUpdater())
            .append("updateTime", getUpdateTime())
            .append("reportExportFileName", getReportExportFileName())
            .toString();
    }
}
